<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- 单次插值，只渲染第一次的值，以后值再更新页面不再更新 -->
        <p v-once>{{val}}</p>
        <!-- v-for 循环显示，可以循环的内容包括 数组、对象、数字、字符串 -->
        <!-- key: 目的是提高渲染效率；要求key是一个唯一的值 -->
        <!-- 在循环数组时 逗号前面的那个是数组项，逗号后面是下标，于单词无关 -->
        
        <!-- 在同一个父元素中，v-for的key值不能重复。当做id处理 -->
        <p v-for="(goods,i) in cart" v-bind:key="i+'a'">{{goods.name}}</p>
        
        <hr>
        <!-- 循环对象,第一个位置是对象的属性值，第二个是对象的属性名，第三个是当前下标 -->
        <p v-for="(val, key, index) in obj1" :key="index">{{index+1}}. {{key}}-{{val}}</p>

        <hr>
        <!-- 循环数字（正整数），一般用于分页 -->
        <button v-for="page in total" :key="'p'+page">{{page}}</button>

        <hr>
        <!-- 循环字符串 -->
        <span v-for="(l,index) in info" :key="l+index">{{l}}</span>
    </div>
    <script>
        let vm = new Vue({
            el: '#app',
            data: {
                info: 'zhongwuchisha?',
                total: 5, // 总页数
                val: 'hello',
                cart: [
                    {name: 'apply', num: 20, price: 3},
                    {name: 'call', num: 14, price: 2},
                    {name: 'bind', num: 49, price: 9},
                ],
                obj1: {
                    name: 'Tom',
                    age: 18,
                    sex: 1,
                    job: 'student',
                    add: 'hnzz'
                }
            }
        })
    </script>
</body>
</html>